Matthias Clasen [Sun, 11 Jan 2015 01:14:24 +0000 (20:14 -0500)]
widget-factory: Add a combo box separator example
This shows that combo box separators are currently broken
in Adwaita.
Nelson Benitez Leon [Tue, 22 Oct 2013 10:24:55 +0000 (12:24 +0200)]
GtkTextView: allow to extend text selection with mouse scrollwheel
Fixes bug 710612
Matthias Clasen [Sat, 10 Jan 2015 19:27:52 +0000 (14:27 -0500)]
file chooser: Add some padidng
https://bugzilla.gnome.org/show_bug.cgi?id=742631
Matthias Clasen [Sat, 10 Jan 2015 19:35:45 +0000 (14:35 -0500)]
Forgotten files
Matthias Clasen [Sat, 10 Jan 2015 18:04:10 +0000 (13:04 -0500)]
Adwaita: Fix treeview separators in backdrop
https://bugzilla.gnome.org/show_bug.cgi?id=742702
Benjamin Otte [Sat, 10 Jan 2015 12:58:39 +0000 (13:58 +0100)]
stylecontext: Stop animations on manual invalidation
If a gtk_style_context_invalidate() is called on a widget's style
context (which nobody should ever do, sheesh!) and we're animating, stop
the animations.
Fixes crashers in Nautilus.
Matthias Clasen [Sat, 10 Jan 2015 02:13:10 +0000 (21:13 -0500)]
GtkScrolledWindow: Don't start fading right away
When we get a leave event, we need to remove the over bit,
since we may not get motion events that tell us when we lose
proximity, but we don't have to fade out right away - that
will happen on its on due to inactivity a bit later. Having
the indicator stay visible for a bit feels more relaxed.
Matthias Clasen [Sat, 10 Jan 2015 02:12:00 +0000 (21:12 -0500)]
GtkScrolledWindow: Factor out a constant
Define INDICATOR_CLOSE_DISTANCE instead of hardcoding the same
number of pixels in 4 different places.
Matthias Clasen [Sat, 10 Jan 2015 02:09:22 +0000 (21:09 -0500)]
GtkScrolledWindow: Don't require proximity for track points
These are hard to navigate precisely, so show wide scrollbars
right away.
Matthias Clasen [Sat, 10 Jan 2015 01:52:03 +0000 (20:52 -0500)]
GtkScrolledWindow: Drop device manager complications
We no longer use the presence or absence of particular device
types to determine which scrolling to use.
Matthias Clasen [Sat, 10 Jan 2015 01:33:39 +0000 (20:33 -0500)]
GtkScrolledWindow: Drop a redundant field
The Indicator.enabled field was not carrying any extra information,
so just use priv->use_indicators instead.
Matthias Clasen [Sat, 10 Jan 2015 01:26:07 +0000 (20:26 -0500)]
GtkScrolledWindow: Rename a private field
touch_mode -> use_indicators, more to the point.
Emmanuele Bassi [Sat, 10 Jan 2015 00:07:51 +0000 (00:07 +0000)]
x11/gl: Do not specify the GLX context version
If we use GDK_GL_PROFILE_3_2_CORE we are asking for a core profile
according to the GLX_ARB_create_context_profile extension. For that,
we pass the GLX_CONTEXT_CORE_PROFILE_BIT_ARB value for the
GLX_CONTEXT_PROFILE_MASK_ARB attribute.
The specification for the extension says that:
If the requested OpenGL version is less than 3.2,
GLX_CONTEXT_PROFILE_MASK_ARB is ignored and the functionality
of the context is determined solely by the requested version.
Since we're asking for a core profile, we assume a GL version greater
than or equal to 3.2; thus, we don't need to specify the
GLX_CONTEXT_MAJOR_VERSION_ARB or the GLX_CONTEXT_MINOR_VERSION_ARB
attributes, and instead just rely on whatever version GLX gives us.
This seems to work around a strange issue in Mesa; if we ask for a core
profile and any version > 3.0, we get broken rendering on any shared
context we create.
Matthias Clasen [Fri, 9 Jan 2015 20:28:53 +0000 (15:28 -0500)]
inspector: Don't use GSettings directly
It is not necessary here, and using GtkSettings gives us
a greater chance to not fail e.g. on Windows.
https://bugzilla.gnome.org/show_bug.cgi?id=742664
Matthias Clasen [Fri, 9 Jan 2015 19:44:26 +0000 (14:44 -0500)]
inspector: be careful about gsize vs guint64
Since gsize doesn't work as a typename in a ui file,
we have to be careful not to pass pointers to wrongly
sized variables when getting the guint64 values out
of the model.
https://bugzilla.gnome.org/show_bug.cgi?id=742664
Emmanuele Bassi [Fri, 9 Jan 2015 16:42:55 +0000 (16:42 +0000)]
docs: Add missing quote
The missing " breaks the syntax highlighting of the GtkImageMenuItem
example.
David King [Fri, 9 Jan 2015 14:37:17 +0000 (14:37 +0000)]
docs: Add Since for GtkCellRendererPixbuf:surface
David King [Tue, 8 Apr 2014 15:42:36 +0000 (16:42 +0100)]
docs: Fix some old live.gnome.org URLs
Piotr Drąg [Fri, 9 Jan 2015 13:16:03 +0000 (14:16 +0100)]
Updated POTFILES.skip
Matthias Clasen [Fri, 9 Jan 2015 11:45:51 +0000 (06:45 -0500)]
Fix GTK_OVERLAY_SCROLLING=0
This was broken by the recent more dynamic approach.
Matthias Clasen [Fri, 9 Jan 2015 11:21:37 +0000 (06:21 -0500)]
Fix comment typo
Matthias Clasen [Fri, 9 Jan 2015 05:07:01 +0000 (00:07 -0500)]
inspector: Show object address
This is useful information when running the application
in a debugger.
https://bugzilla.gnome.org/show_bug.cgi?id=742518
Emmanuele Bassi [Fri, 26 Dec 2014 16:04:26 +0000 (16:04 +0000)]
Point to copy/cut/delete named icons in the stock item deprecations
We still use symbolic icons for Copy, Cut, and Delete operations inside
toolbars and some menus, so it's worth pointing to the symbolic icon
names in the deprecation notices.
https://bugzilla.gnome.org/show_bug.cgi?id=741969
Matthias Clasen [Fri, 9 Jan 2015 03:27:47 +0000 (22:27 -0500)]
file chooser: Don't force a scrollbar
No point in showing the scrollbar when it is not needed.
https://bugzilla.gnome.org/show_bug.cgi?id=742343
Timm Bäder [Fri, 26 Dec 2014 22:04:37 +0000 (23:04 +0100)]
gtklabel: Don't accept unhandled mouse buttons
If the pressed mouse button neither triggers a context menu nor
activates a link, set the sequence's state to DENIED.
https://bugzilla.gnome.org/show_bug.cgi?id=742010
Benjamin Otte [Thu, 8 Jan 2015 18:30:19 +0000 (19:30 +0100)]
cssimage: Fix angle computation for gradients to corners
Inaki Larranaga Murgoitio [Thu, 8 Jan 2015 17:32:00 +0000 (18:32 +0100)]
Updated Basque language
Inaki Larranaga Murgoitio [Thu, 8 Jan 2015 14:41:15 +0000 (15:41 +0100)]
Updated Basque language
Benjamin Otte [Wed, 7 Jan 2015 17:06:59 +0000 (18:06 +0100)]
stylecontext: Handle theme changes for cached styles
We need to clear the cache manually on full revalidates because
_gtk_css_change_for_child() will clear the full revalidation flags.
And then gtk_style_context_update_cache() will not do the right thing
(which is to clear itself).
Benjamin Otte [Wed, 7 Jan 2015 14:44:53 +0000 (15:44 +0100)]
stylecontext: Rename GtkStyleInfo to GtkCssNode
Benjamin Otte [Tue, 6 Jan 2015 11:08:49 +0000 (12:08 +0100)]
stylecontext: update_animating() properly
Because we can switch from animating to non-animating pretty much
anywhere, do the check for animations unconditionally instead of trying
to cram it into the correct if path (and failing).
Benjamin Otte [Tue, 6 Jan 2015 11:08:17 +0000 (12:08 +0100)]
stack: Remove commented out line
It always shows up in my greps and confuses me.
Benjamin Otte [Mon, 5 Jan 2015 23:38:54 +0000 (00:38 +0100)]
stylecontext: Add a parent style cache
We now cache the results of lookups on the parent GtkCssStyle. This
allows sharing styles between widgets (recursively). However, this
only works if the styles can't potentially depend on siblings -
neither directly via sibling selectors or via position pseudo-classes
like :first-child.
Unfortunately, Adwaita currently uses first-child a lot, and in
particular for labels, which are the most common widgets.
The big benefits of this change are both less CPU - due to not needing
to compute styles again - and less memory usage - due to sharing of
the styles between widgets. Here's some nonscientific numbers I
collected while pondering the usefulness of this patch:
glade glade widget
demo demo factory
runtime styles styles
Adwaita before 19.1s 5800 1150
Adwaita now 18.9s 3800 970
Adwaita hacked now 14.5s 3100 910
simple before 11.3s 5800 1150
simple now 10.8s 1300 590
Adwaita: Adwaita as provided by GTK
Adwaita hacked: Adwaita with the first/last-child for GtkLabel removed
simple: A 250 lines simple GTK theme I use for testing
before: This patch not applied
now: this patch applied
glade demo runtime: Starting glade opening a large file and closing it
glade demo styles: GtkCssStaticStyle objects after opening glade with
the large file as per inspector
widget factory styles: GtkCssStaticStyle objects after startup as per
inspector
Benjamin Otte [Mon, 5 Jan 2015 15:13:18 +0000 (16:13 +0100)]
cssstyle: Have a default style
This way we can initialize the default style info with a style and
ddon't need to special case NULL everywhere.
Benjamin Otte [Mon, 5 Jan 2015 04:57:45 +0000 (05:57 +0100)]
stylecontext: Use correct parent on updates
Previously we looked at the save/restore state when determining the
parent. This is wrong in the case where we're updating the cache though.
So we now save the parent in the style info.
Benjamin Otte [Tue, 23 Dec 2014 07:19:39 +0000 (08:19 +0100)]
stylecontext: Fix cache updating
After the parent changes in commit
3a337156d11a86c7a88f1f30a09276fdf6f63008 we need to refresh the cached
styles after the current style. After all, they now depend on the base
style.
Benjamin Otte [Tue, 23 Dec 2014 07:10:30 +0000 (08:10 +0100)]
cssstaticstyle: Handle relevant change
Relevant change is returned from style lookups, so keep is with the
object that holds those values.
Benjamin Otte [Sun, 21 Dec 2014 20:30:51 +0000 (21:30 +0100)]
stylecontext: Use correct parent style for lookups
After
3a337156d11a86c7a88f1f30a09276fdf6f63008 style lookups still used
the parent context's style as the parent style, even though after a
gtk_style_context_save() the root style of the style context is the
proper parent.
Testcase attached.
Benjamin Otte [Sun, 21 Dec 2014 19:26:26 +0000 (20:26 +0100)]
cssnodedeclaration: Store the GType of the node
Benjamin Otte [Wed, 17 Dec 2014 12:30:51 +0000 (13:30 +0100)]
cssstyle: Move function from vfunc to static func
compute_dependencies() is only used internally by GtkCssStaticStyle,
so there's no need to have it elsewhere.
Benjamin Otte [Wed, 17 Dec 2014 12:22:03 +0000 (13:22 +0100)]
cssstaticstyle: Move function
And with that move, GtkCssStaticStyle is immutable.
Benjamin Otte [Wed, 17 Dec 2014 04:52:13 +0000 (05:52 +0100)]
cssstaticstyle: Move function
We want the new() return values to be immutable, so we have to move the
code that modifes them.
Benjamin Otte [Wed, 17 Dec 2014 03:18:44 +0000 (04:18 +0100)]
stylecontext: Refactor update_properties()
It now always returns a new instance.
Benjamin Otte [Tue, 16 Dec 2014 05:47:08 +0000 (06:47 +0100)]
stylecontext: Simplify function
Instead of computing the changes manually everywhere from the parent
changes, just pass in the parent changes.
Benjamin Otte [Tue, 16 Dec 2014 05:40:10 +0000 (06:40 +0100)]
stylecontext: Simplify code
Compute the differences only once and not in both if branches.
Benjamin Otte [Tue, 16 Dec 2014 04:57:36 +0000 (05:57 +0100)]
cssanimatedstyle: Apply animation values after creation
This makes GtkCssAnimatedStyle immutable.
Benjamin Otte [Tue, 16 Dec 2014 03:15:25 +0000 (04:15 +0100)]
cssanimatedstyle: Make advancing the style return a new style
This is another step towards making CssStyles immutable.
Benjamin Otte [Mon, 15 Dec 2014 13:22:00 +0000 (14:22 +0100)]
stylecontext: Fold a function into only caller
Benjamin Otte [Mon, 15 Dec 2014 03:17:42 +0000 (04:17 +0100)]
cssanimatedstyle: Avoid creating animation
... when no animation exists.
This makes the function name kinda wrong, but I'm not sure what else to
call it.
Benjamin Otte [Mon, 15 Dec 2014 01:54:35 +0000 (02:54 +0100)]
cssanimatedstyle: Remove unused function
Benjamin Otte [Mon, 15 Dec 2014 00:58:11 +0000 (01:58 +0100)]
cssanimatedstyle: Merge two functions
Benjamin Otte [Sun, 14 Dec 2014 22:20:19 +0000 (23:20 +0100)]
stylecontext: Make build_properties create the style
Benjamin Otte [Sun, 14 Dec 2014 16:06:27 +0000 (17:06 +0100)]
stylecontext: Make static styles static
Instead of keeping an animated style everywhere, we replace it with the
static style when nothing gets animated.
Apart from making the code cleaner, this gets rid of a bunch of animated
style values that do nothing but wrap a static style.
Benjamin Otte [Sun, 14 Dec 2014 14:46:18 +0000 (15:46 +0100)]
stylecontext: Split function
Benjamin Otte [Sat, 13 Dec 2014 01:07:34 +0000 (02:07 +0100)]
stylecontext: Only look up stuff in the cache that can be in the cache
Only saved styles are stored in the cache so we should look only those
up there.
Benjamin Otte [Mon, 27 Oct 2014 03:22:49 +0000 (04:22 +0100)]
stylecontext: don't unset the current style info when clearing cache
Instead, do it manually.
Benjamin Otte [Sun, 26 Oct 2014 23:25:18 +0000 (00:25 +0100)]
stylecontext: Always pass the static style
... to build_properties.
There is always one available, so we can insist on that one.
This simplifies a bunch of code.
Benjamin Otte [Sun, 26 Oct 2014 18:38:38 +0000 (19:38 +0100)]
stylecontext: Use a static style when saved
The only style that is animated is the style of the unsaved primary
node. So there's no need to create animated style objects for the other
ones.
There is a bunch of ugliness in the code currently. Further commits are
expected to fix them.
Benjamin Otte [Sun, 26 Oct 2014 04:07:06 +0000 (05:07 +0100)]
cssstyle: Add GtkCssStaticStyle
For now, this is only an implementation detail of the animated style.
The idea is to use GtkCssStaticStyle as the result of CSS queries and
then put a GtkCssAnimatedStyle on top that manages the animations. The
neat thing about this is that you can cache the static values.
Benjamin Otte [Thu, 23 Oct 2014 02:10:03 +0000 (04:10 +0200)]
cssstyle: Split into GtkCssStyle and GtkCssAnimatedStyle
GtkCssStyle is the base class to be used for all types of styles that do
exist.
GtkCssAnimatedStyle is the only implementation so far, that is exactly a
copy/paste of the old GtkCssStyle code.
Benjamin Otte [Wed, 22 Oct 2014 21:41:50 +0000 (23:41 +0200)]
cssstyle: Rename GtkCssComputedValues => GtkCssStyle
This is literally just renaming of the object (and the associated source
files). No other changes are in there.
Benjamin Otte [Wed, 22 Oct 2014 20:36:38 +0000 (22:36 +0200)]
cssstylefuncs: Rename functions
This is in preaparation for the big GtkCssComputedValues => GtkCssStyle
rename
Christian Kirbach [Tue, 6 Jan 2015 22:42:35 +0000 (22:42 +0000)]
Updated German translation
Bruce Cowan [Mon, 5 Jan 2015 20:40:52 +0000 (20:40 +0000)]
Updated British English translation
Benjamin Otte [Mon, 5 Jan 2015 20:15:19 +0000 (21:15 +0100)]
cssselector: Reintroduce GOT_MATCH
I removed it in
14f5ce710856708dc80fcc98cb5eb2ba257f34ad because I
thought it was unnecessary, but it wasn't. When we build a tree like
this:
.matches ─┬─ .doesntmatch
└─ .alsodoesntmatch
We would get the changes for the .matches part returned. This is however
only right if that node of the tree contains results. If results only
exist with the child nodes (all of which don't match), then this part
should not match either.
Benjamin Otte [Mon, 5 Jan 2015 20:00:36 +0000 (21:00 +0100)]
cssselector: The if was the wrong way around
We want to keep matching as long as selectors are simple. Otherwise we'd
never be matching, because the first selector is always simple. Oops.
Sebastien Lafargue [Sun, 4 Jan 2015 11:40:27 +0000 (12:40 +0100)]
cellrenderertext: notify inverted
The notify for "size" and "size-points" properties
are inverted.
https://bugzilla.gnome.org/show_bug.cgi?id=742311
Emmanuele Bassi [Fri, 2 Jan 2015 23:05:29 +0000 (23:05 +0000)]
calendar: Handle invalid dates
GtkCalendar can have an invalid date — mostly at initialization. This
means that GDateTime construction may fail. We need to handle that case
gracefully, like the old code did.
This fixes the `notify` test suite, which started failing with:
/Notification/GtkCalendar:
GLib-CRITICAL **: g_date_time_get_day_of_week: assertion 'datetime != NULL' failed
inside the Continuous builder.
Christian Hergert [Thu, 1 Jan 2015 07:27:55 +0000 (23:27 -0800)]
textview: fix duplicated binding entries. use kp variants instead.
This appears to have accidentally used the normal keypresses twice instead
of the KP variants. This resulted in shift+insert pasting twice.
https://bugzilla.gnome.org/show_bug.cgi?id=742170
Inaki Larranaga Murgoitio [Wed, 31 Dec 2014 16:46:21 +0000 (17:46 +0100)]
Updated Basque language
Balázs Úr [Wed, 31 Dec 2014 13:29:14 +0000 (13:29 +0000)]
Updated Hungarian translation
Gábor Kelemen [Wed, 31 Dec 2014 13:02:56 +0000 (13:02 +0000)]
Updated Hungarian translation
Balázs Úr [Wed, 31 Dec 2014 12:03:47 +0000 (12:03 +0000)]
Updated Hungarian translation
Trần Ngọc Quân [Wed, 31 Dec 2014 08:50:54 +0000 (15:50 +0700)]
Updated Vietnamese translation
Signed-off-by: Trần Ngọc Quân <vnwildman@gmail.com>
Ignacio Casal Quinteiro [Tue, 30 Dec 2014 12:46:11 +0000 (13:46 +0100)]
Fix typos in documentation
Jasper St. Pierre [Mon, 29 Dec 2014 02:11:49 +0000 (18:11 -0800)]
gtkstylecontext: Don't try to emit a signal when finalizing
Jasper St. Pierre [Mon, 29 Dec 2014 01:54:09 +0000 (17:54 -0800)]
gdkeventsource-wayland: Fix style
Jasper St. Pierre [Mon, 29 Dec 2014 02:13:24 +0000 (18:13 -0800)]
inspector: Update translations .ui.h file
Matthias Clasen [Sun, 28 Dec 2014 16:36:10 +0000 (11:36 -0500)]
Inspector: Show some X display characteristics
This helps diagnose e.g. csd problems.
Matthias Clasen [Sun, 28 Dec 2014 16:06:24 +0000 (11:06 -0500)]
Restore a missing file
No wonder nobody has tried my awesome magnifier yet...
Rico Tzschichholz [Sun, 28 Dec 2014 12:34:16 +0000 (13:34 +0100)]
mir: Add missing reference to gdkmir-private.h
Trần Ngọc Quân [Sun, 28 Dec 2014 02:20:14 +0000 (09:20 +0700)]
Updated vi translation for gtk+properties
Signed-off-by: Trần Ngọc Quân <vnwildman@gmail.com>
Christian Hergert [Fri, 26 Dec 2014 22:19:55 +0000 (14:19 -0800)]
scrolledwindow: fix spurious warnings from previous scrollbar commits
Emmanuele Bassi [Thu, 25 Dec 2014 11:49:58 +0000 (11:49 +0000)]
x11/gl: Set the correct minor version
The major version is set twice.
https://bugzilla.gnome.org/show_bug.cgi?id=741954
Philip Chimento [Sat, 11 Oct 2014 04:35:23 +0000 (21:35 -0700)]
quartz: NSWindow NULL check in get_scale_factor
Sending backingScaleFactor to a NULL NSWindow will silently give the
value 0 for the scale factor, causing insidious divide-by-zero bugs down
the line. This checks if the NSWindow is NULL first, as seems to happen
throughout the rest of the file.
Note that I don't have a hi-DPI OS X machine to test this on, though.
https://bugzilla.gnome.org/show_bug.cgi?id=738338
John Ralls [Wed, 24 Dec 2014 20:50:57 +0000 (12:50 -0800)]
Prevent double-free after
8b5d30d43.
Carlos Garnacho [Mon, 1 Dec 2014 13:25:23 +0000 (14:25 +0100)]
scrolledwindow: Enable "hover" mode in scrollbars after a timeout
This way transient mouse movements over scrollbars don't cause flickering,
and more spaced movements have it enabled shortly.
Carlos Garnacho [Mon, 1 Dec 2014 12:59:22 +0000 (13:59 +0100)]
scrolledwindow: improve v/hscrollbar proximity detection
Only horizontal coordinates are checked for the vertical scrollbar, and
vice versa.
Carlos Garnacho [Mon, 1 Dec 2014 12:37:18 +0000 (13:37 +0100)]
scrolledwindow: fade out scrollbars on leave notify
Carlos Garnacho [Mon, 1 Dec 2014 12:23:57 +0000 (13:23 +0100)]
scrolledwindow: make it a windowed widget again
This is so we can detect crossing events on the scrolledwindow widget,
which can be useful for toggling certain behaviors or not depending on
whether the mouse is on the widget.
Carlos Garnacho [Sat, 29 Nov 2014 15:53:05 +0000 (16:53 +0100)]
scrolledwindow: Show scrollbars upon captured motion events
On mice, scrollbars are always triggered temporarily. On proximity to an
scrollbar, it will be switched to full-width.
Ting-Wei Lan [Wed, 24 Dec 2014 13:59:49 +0000 (21:59 +0800)]
popover: Add a missing #ifdef
Matthias Clasen [Wed, 24 Dec 2014 02:49:21 +0000 (21:49 -0500)]
GtkCalendar: Slightly change overflow behaviour
If the first of the month was falling on a Sunday, we would not
render any days of the previous month, and instead show two weeks
of the next month at the bottom. Improve this by showing one week
of each.
https://bugzilla.gnome.org/show_bug.cgi?id=301835
Matthias Clasen [Wed, 24 Dec 2014 02:47:50 +0000 (21:47 -0500)]
Avoid a crash in testcalendar
When changing between months, we can get into a situation like
'February 30", which GDate doesn't accept. Don't crash in that
case.
Matthias Clasen [Wed, 24 Dec 2014 02:11:00 +0000 (21:11 -0500)]
css: Handle font-size changes properly
Changing font size does not cause widgets to update their size
properly anymore, since we forgot an invalidation flag. The
problem can be observed e.g. by running gtk3-demo and calling
gsettings set org.gnome.desktop.interface font-name "Cantarell 22"
Matthias Clasen [Wed, 24 Dec 2014 01:36:30 +0000 (20:36 -0500)]
Adwaita: Bring back 'other month' coloring
The days that are not in the current month used to be rendered
in a ligher color. This was lost at some point. Bring it back.
Matthias Clasen [Wed, 24 Dec 2014 01:28:49 +0000 (20:28 -0500)]
GtkCalendar: Use GDateTime for calculations
Instead of old copy-paste code, use GDateTime to determine week
numbers and days of week.
Matthias Clasen [Tue, 23 Dec 2014 23:37:28 +0000 (18:37 -0500)]
Formatting fixes
Matthias Clasen [Tue, 23 Dec 2014 05:20:11 +0000 (00:20 -0500)]
Formatting fixes
Matthias Clasen [Mon, 22 Dec 2014 22:16:30 +0000 (17:16 -0500)]
GtkRecentManager: Formatting fixes